1. Field of the Invention
The present invention relates to Mobile IP network technology. More particularly, the present invention relates to Mobile IP intra-agent mobility.
2. Description of the Related Art
Mobile IP is a protocol which allows laptop computers or other mobile computer units (referred to as xe2x80x9cMobile Nodesxe2x80x9d herein) to roam between various sub-networks at various locationsxe2x80x94while maintaining Internet and/or WAN connectivity. Without Mobile IP or related protocol, a Mobile Node would be unable to stay connected while roaming through various sub-networks. This is because the IP address required for any node to communicate over the Internet is location specific. Each IP address has a field that specifies the particular sub-network on which the node resides. If a user desires to take a computer which is normally attached to one node and roam with it so that it passes through different sub-networks, it cannot use its home base IP address. As a result, a business person traveling across the country cannot merely roam with his or her computer across geographically disparate network segments or wireless nodes while remaining connected over the Internet. This is not an acceptable state-of-affairs in the age of portable computational devices.
To address this problem, the Mobile IP protocol has been developed and implemented. An implementation of Mobile IP is described in RFC 2002 of the Network Working Group, C. Perkins, Ed., October 1996. Mobile IP is also described in the text xe2x80x9cMobile IP Unpluggedxe2x80x9d by J. Solomon, Prentice Hall. Both of these references are incorporated herein by reference in their entireties and for all purposes.
The Mobile IP process and environment are illustrated in FIG. 1. As shown there, a Mobile IP environment 2 includes the Internet (or a WAN) 4 over which a Mobile Node 6 can communicate remotely via mediation by a Home Agent 8 and a Foreign Agent 10. Typically, the Home Agent and Foreign Agent are routers or other network connection devices performing appropriate Mobile IP functions as implemented by software, hardware, and/or firmware. A particular Mobile Node (e.g., a laptop computer) plugged into its home network segment connects with the Internet through its designated Home Agent. When the Mobile Node roams, it communicates via the Internet through an available Foreign Agent. Presumably, there are many Foreign Agents available at geographically disparate locations to allow wide spread Internet connection via the Mobile IP protocol. Note that it is also possible for the Mobile Node to register directly with its Home Agent.
As shown in FIG. 1, Mobile Node 6 normally resides on (or is xe2x80x9cbased atxe2x80x9d) a network segment 12 which allows its network entities to communicate over the Internet 4 through Home Agent 8 (an appropriately configured router denoted R2). Note that Home Agent 8 need not directly connect to the Internet. For example, as shown in FIG. 1, it may be connected through another router (a router R1 in this case). Router R1 may, in turn, connect one or more other routers (e.g., a router R3) with the Internet.
Now, suppose that Mobile Node 6 is removed from its home base network segment 12 and roams to a remote network segment 14. Network segment 14 may include various other nodes such as a PC 16. The nodes on network segment 14 communicate with the Internet through a router which doubles as Foreign Agent 10. Mobile Node 6 may identify Foreign Agent 10 through various solicitations and advertisements which form part of the Mobile IP protocol. When Mobile Node 6 engages with network segment 14, Foreign Agent 10 relays a registration request to Home Agent 8 (as indicated by the dotted line xe2x80x9cRegistrationxe2x80x9d). The Home and Foreign Agents may then negotiate the conditions of the Mobile Node""s attachment to Foreign Agent 10. For example, the attachment may be limited to a period of time, such as two hours. When the negotiation is successfully completed, Home Agent 8 updates an internal xe2x80x9cmobility binding tablexe2x80x9d which specifies the care-of address (e.g., a collocated care-of address or the Foreign Agent""s IP address) in association with the identity of Mobile Node 6. Further, the Foreign Agent 10 updates an internal xe2x80x9cvisitor tablexe2x80x9d which specifies the Mobile Node address, Home Agent address, etc. In effect, the Mobile Node""s home base IP address (associated with segment 12) has been shifted to the Foreign Agent""s IP address (associated with segment 14).
Now, suppose that Mobile Node 6 wishes to send a message to a corresponding node 18 from its new location. A message from the Mobile Node is then packetized and forwarded through Foreign Agent 10 over the Internet 4 and to corresponding node 18 (as indicated by the dotted line xe2x80x9cpacket from MNxe2x80x9d) according to a standard Internet protocol. If corresponding node 18 wishes to send a message to Mobile Nodexe2x80x94whether in reply to a message from the Mobile Node or for any other reasonxe2x80x94it addresses that message to the IP address of Mobile Node 6 on sub-network 12. The packets of that message are then forwarded over the Internet 4 and to router R1 and ultimately to Home Agent 8 as indicated by the dotted line (xe2x80x9cpacket to MN(1)xe2x80x9d). From its mobility binding table, Home Agent 8 recognizes that Mobile Node 6 is no longer attached to network segment 12. It then encapsulates the packets from corresponding node 18 (which are addressed to Mobile Node 6 on network segment 12) according to a Mobile IP protocol and forwards these encapsulated packets to a xe2x80x9ccare ofxe2x80x9d address for Mobile Node 6 as shown by the dotted line (xe2x80x9cpacket to MN(2)xe2x80x9d). The care-of address may be, for example, the IP address of Foreign Agent 10. Foreign Agent 10 then strips the encapsulation and forwards the message to Mobile Node 6 on sub-network 14. The packet forwarding mechanism implemented by the Home and Foreign Agents is often referred to as xe2x80x9ctunneling.xe2x80x9d
As described above, a mobile node typically roams from its Home Agent on one router to a Foreign Agent on another router. While Mobile IP, specified in RFC 2002 , permits mobile nodes to remain connected to the Internet while roaming to Foreign Agents on the Internet, such mobility is enabled through the use of two separate routers or other network devices. However, there are instances in which it may be desirable to move within a vicinity of a router (home agent) without roaming to a second router. By way of example, a laptop user connected to the Internet may wish to move to another location without ending an Internet session.
In view of the above, it would be desirable to enable a mobile node to move within a vicinity of a single router while sustaining an active Internet session.
The present invention enables intra-agent mobility by a mobile node. Intra-agent mobility is accomplished through registration with a Home Agent via a Foreign Agent where both the Home Agent and the Foreign Agent are provided in a single network device (e.g., router). By way of example, this may be accomplished through the use of a physical interface on the router, thereby eliminating the need to create or specify a tunnel interface to reach the mobile node or the Home Agent. Accordingly, memory requirements during registration and upon completion of the registration process are dramatically reduced. Moreover, since tunnels need not be created, the time required to complete the registration process is minimized.
According to one embodiment, the present invention enables inter-agent mobility as well as intra-agent mobility. Therefore, it is determined from the registration request packet received by the router whether intra-agent or inter-agent mobility is appropriate. In other words, it is determined whether the router includes the Home Agent of the mobile node sending the registration request packet as well as the Foreign Agent through which the mobile node is registering.
The router determines whether it includes the Home Agent with which the mobile node is registering. According to one aspect, a method of registering a mobile node with a Home Agent via a Foreign Agent is provided in a router supporting Mobile IP. A registration request packet specifying a Home Address and a care-of address is received. It is then ascertained whether the Home Address specified in the registration request packet is equivalent to a Home Agent address associated with the router. If it is determined that the Home Address specified in the registration request packet is not equivalent to a Home Agent address, the registration request packet is forwarded to another Home Agent associated with the mobile node.
In addition, the router determines whether it includes the Foreign Agent that the mobile node is visiting. This may be accomplished in several ways. According to one aspect, it is determined whether the care-of address specified in the registration request packet is equivalent to a Foreign Agent address associated with the router. For instance, it may be determined whether the care-of address specified in the registration request packet is advertised by the router as the Foreign Agent address associated with the router. If it is determined that the care-of address specified in the registration request packet is equivalent to a Foreign Agent address and the Home Address specified in the registration request is equivalent to a Home Agent address, the mobile node is registered with a Home Agent associated with the Home Agent address via a Foreign Agent associated with the Foreign Agent address.
According to another aspect, the router may include the Foreign Agent through which the mobile node is registering even where the care-of address is a collocated care-of address. Thus, it is determined whether the care-of address specified in the registration request packet is a collocated care-of address (e.g., an address on the network of the inbound interface of the router). In addition, it is determined whether the D bit in the registration request packet is set. If it is determined that the care-of address specified in the registration request packet is a collocated care-of address and the D bit in the registration request packet is set, the mobile node is registered with the router""s Home Agent (i.e., associated with the Home Agent address) via the router""s Foreign Agent.